package com.byb.server.service.dto;

import com.byb.server.domain.*;

import java.io.Serializable;
import java.util.List;
import java.util.Objects;
import java.util.Set;

public class ProductDetailScoreDTO implements Serializable {

    private Long id;

    private int num;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品图片
     */
    private String productImg;

    /**
     * 综合评分
     */
    private String overallScore;

    /**
     * 赔偿金额得分
     */
    private String amountOfIndemnificationSocre;

    /**
     * 保障范围得分
     */
    private String ensureScopeSocre;

    /**
     * 如是理赔得分
     */
    private String claimsSettlementSocre;

    /**
     * 服务便捷得分
     */
    private String convenientServicetSocre;

    /**
     * 重疾赔付次数
     */
    private String strichenClaimTimes;

    /**
     * 轻症赔付次数
     */
    private String mildClaimTimes;


    /**
     * 重疾数量
     */
    private String strichenNum;

    /**
     * 轻症数量
     */
    private String mildNum;

    private String strichen_money;

    private String die_money;

    private String mild_money;

    private String price ;

    private Isurer insurer;

    private TypesOfInsurance typesOfInsurance;

    private List<Product_sort> product_sorts;


    /**
     * 重疾数量得分
     */
    private String strichenNumScore;

    /**
     * 重疾定义量得分
     */
    private String sicknessDefinitionScore;

    /**
     * 重疾赔付次数得分
     */
    private String strichenClaimTimesScore;

    /**
     * 身故得分
     */
    private String diescore;

    /**
     * 轻症次数得分
     */
    private String mildCaseNumScore;

    /**
     * 轻症定义得分
     */
    private String mildDefinitionScore;

    /**
     * 轻症赔付次数得分
     */
    private String mildClaimTimesScore;

    /**
     * 其他保障豁免评分内容
     */
    private String otherProtectRemitText;

    /**
     * 其他保障豁免得分
     */
    private String otherProtectRemitScore;

    /**
     * 其他保障返还评分内容
     */
    private String otherProtectRestoreText;

    /**
     * 其他保障返还得分
     */
    private String otherProtectRestoreScore;

    /**
     * 其他保障分红评分内容
     */
    private String otherProtectHongeText;

    /**
     * 其他保障分红得分
     */
    private String otherProtectHongScore;

    /**
     * 其他保障绿色通道评分内容
     */
    private String otherProtectGreenText;

    /**
     * 其他保障绿色通道得分
     */
    private String otherProtectGreenScore;

    /** 理赔宽松度 */
    private String claimFitnessScore;

    /** 理赔速度 */
    private String claimSpeedScore;

    private Set<ServiceInvDTO> serviceInvs;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductImg() {
        return productImg;
    }

    public void setProductImg(String productImg) {
        this.productImg = productImg;
    }

    public String getOverallScore() {
        return overallScore;
    }

    public void setOverallScore(String overallScore) {
        this.overallScore = overallScore;
    }

    public String getAmountOfIndemnificationSocre() {
        return amountOfIndemnificationSocre;
    }

    public void setAmountOfIndemnificationSocre(String amountOfIndemnificationSocre) {
        this.amountOfIndemnificationSocre = amountOfIndemnificationSocre;
    }

    public String getEnsureScopeSocre() {
        return ensureScopeSocre;
    }

    public void setEnsureScopeSocre(String ensureScopeSocre) {
        this.ensureScopeSocre = ensureScopeSocre;
    }

    public String getClaimsSettlementSocre() {
        return claimsSettlementSocre;
    }

    public void setClaimsSettlementSocre(String claimsSettlementSocre) {
        this.claimsSettlementSocre = claimsSettlementSocre;
    }

    public String getConvenientServicetSocre() {
        return convenientServicetSocre;
    }

    public void setConvenientServicetSocre(String convenientServicetSocre) {
        this.convenientServicetSocre = convenientServicetSocre;
    }

    public String getStrichenClaimTimes() {
        return strichenClaimTimes;
    }

    public void setStrichenClaimTimes(String strichenClaimTimes) {
        this.strichenClaimTimes = strichenClaimTimes;
    }

    public String getMildClaimTimes() {
        return mildClaimTimes;
    }

    public void setMildClaimTimes(String mildClaimTimes) {
        this.mildClaimTimes = mildClaimTimes;
    }

    public String getStrichenNum() {
        return strichenNum;
    }

    public void setStrichenNum(String strichenNum) {
        this.strichenNum = strichenNum;
    }

    public String getMildNum() {
        return mildNum;
    }

    public void setMildNum(String mildNum) {
        this.mildNum = mildNum;
    }

    public String getStrichen_money() {
        return strichen_money;
    }

    public void setStrichen_money(String strichen_money) {
        this.strichen_money = strichen_money;
    }

    public String getDie_money() {
        return die_money;
    }

    public void setDie_money(String die_money) {
        this.die_money = die_money;
    }

    public String getMild_money() {
        return mild_money;
    }

    public void setMild_money(String mild_money) {
        this.mild_money = mild_money;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public Isurer getInsurer() {
        return insurer;
    }

    public void setInsurer(Isurer insurer) {
        this.insurer = insurer;
    }

    public TypesOfInsurance getTypesOfInsurance() {
        return typesOfInsurance;
    }

    public void setTypesOfInsurance(TypesOfInsurance typesOfInsurance) {
        this.typesOfInsurance = typesOfInsurance;
    }

    public List<Product_sort> getProduct_sorts() {
        return product_sorts;
    }

    public void setProduct_sorts(List<Product_sort> product_sorts) {
        this.product_sorts = product_sorts;
    }

    public String getStrichenNumScore() {
        return strichenNumScore;
    }

    public void setStrichenNumScore(String strichenNumScore) {
        this.strichenNumScore = strichenNumScore;
    }

    public String getSicknessDefinitionScore() {
        return sicknessDefinitionScore;
    }

    public void setSicknessDefinitionScore(String sicknessDefinitionScore) {
        this.sicknessDefinitionScore = sicknessDefinitionScore;
    }

    public String getStrichenClaimTimesScore() {
        return strichenClaimTimesScore;
    }

    public void setStrichenClaimTimesScore(String strichenClaimTimesScore) {
        this.strichenClaimTimesScore = strichenClaimTimesScore;
    }

    public String getDiescore() {
        return diescore;
    }

    public void setDiescore(String diescore) {
        this.diescore = diescore;
    }

    public String getMildCaseNumScore() {
        return mildCaseNumScore;
    }

    public void setMildCaseNumScore(String mildCaseNumScore) {
        this.mildCaseNumScore = mildCaseNumScore;
    }

    public String getMildDefinitionScore() {
        return mildDefinitionScore;
    }

    public void setMildDefinitionScore(String mildDefinitionScore) {
        this.mildDefinitionScore = mildDefinitionScore;
    }

    public String getMildClaimTimesScore() {
        return mildClaimTimesScore;
    }

    public void setMildClaimTimesScore(String mildClaimTimesScore) {
        this.mildClaimTimesScore = mildClaimTimesScore;
    }

    public String getOtherProtectRemitText() {
        return otherProtectRemitText;
    }

    public void setOtherProtectRemitText(String otherProtectRemitText) {
        this.otherProtectRemitText = otherProtectRemitText;
    }

    public String getOtherProtectRemitScore() {
        return otherProtectRemitScore;
    }

    public void setOtherProtectRemitScore(String otherProtectRemitScore) {
        this.otherProtectRemitScore = otherProtectRemitScore;
    }

    public String getOtherProtectRestoreText() {
        return otherProtectRestoreText;
    }

    public void setOtherProtectRestoreText(String otherProtectRestoreText) {
        this.otherProtectRestoreText = otherProtectRestoreText;
    }

    public String getOtherProtectRestoreScore() {
        return otherProtectRestoreScore;
    }

    public void setOtherProtectRestoreScore(String otherProtectRestoreScore) {
        this.otherProtectRestoreScore = otherProtectRestoreScore;
    }

    public String getOtherProtectHongeText() {
        return otherProtectHongeText;
    }

    public void setOtherProtectHongeText(String otherProtectHongeText) {
        this.otherProtectHongeText = otherProtectHongeText;
    }

    public String getOtherProtectHongScore() {
        return otherProtectHongScore;
    }

    public void setOtherProtectHongScore(String otherProtectHongScore) {
        this.otherProtectHongScore = otherProtectHongScore;
    }

    public String getOtherProtectGreenText() {
        return otherProtectGreenText;
    }

    public void setOtherProtectGreenText(String otherProtectGreenText) {
        this.otherProtectGreenText = otherProtectGreenText;
    }

    public String getOtherProtectGreenScore() {
        return otherProtectGreenScore;
    }

    public void setOtherProtectGreenScore(String otherProtectGreenScore) {
        this.otherProtectGreenScore = otherProtectGreenScore;
    }

    public String getClaimFitnessScore() {
        return claimFitnessScore;
    }

    public void setClaimFitnessScore(String claimFitnessScore) {
        this.claimFitnessScore = claimFitnessScore;
    }

    public String getClaimSpeedScore() {
        return claimSpeedScore;
    }

    public void setClaimSpeedScore(String claimSpeedScore) {
        this.claimSpeedScore = claimSpeedScore;
    }

    public Set<ServiceInvDTO> getServiceInvs() {
        return serviceInvs;
    }

    public void setServiceInvs(Set<ServiceInvDTO> serviceInvs) {
        this.serviceInvs = serviceInvs;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof ProductDetailScoreDTO)) return false;
        ProductDetailScoreDTO that = (ProductDetailScoreDTO) o;
        return Objects.equals(getId(), that.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hash(getId());
    }

    @Override
    public String toString() {
        return "ProductDetailScoreDTO{" +
            "id=" + id +
            ", num=" + num +
            ", productName='" + productName + '\'' +
            ", productImg='" + productImg + '\'' +
            ", overallScore=" + overallScore +
            ", amountOfIndemnificationSocre=" + amountOfIndemnificationSocre +
            ", ensureScopeSocre=" + ensureScopeSocre +
            ", claimsSettlementSocre=" + claimsSettlementSocre +
            ", convenientServicetSocre=" + convenientServicetSocre +
            ", strichenClaimTimes=" + strichenClaimTimes +
            ", mildClaimTimes=" + mildClaimTimes +
            ", strichenNum=" + strichenNum +
            ", mildNum=" + mildNum +
            ", strichen_money=" + strichen_money +
            ", die_money=" + die_money +
            ", mild_money=" + mild_money +
            ", price=" + price +
            ", insurer=" + insurer +
            ", typesOfInsurance=" + typesOfInsurance +
            ", product_sorts=" + product_sorts +
            ", strichenNumScore='" + strichenNumScore + '\'' +
            ", sicknessDefinitionScore='" + sicknessDefinitionScore + '\'' +
            ", strichenClaimTimesScore='" + strichenClaimTimesScore + '\'' +
            ", diescore='" + diescore + '\'' +
            ", mildCaseNumScore='" + mildCaseNumScore + '\'' +
            ", mildDefinitionScore='" + mildDefinitionScore + '\'' +
            ", mildClaimTimesScore='" + mildClaimTimesScore + '\'' +
            ", otherProtectRemitText='" + otherProtectRemitText + '\'' +
            ", otherProtectRemitScore='" + otherProtectRemitScore + '\'' +
            ", otherProtectRestoreText='" + otherProtectRestoreText + '\'' +
            ", otherProtectRestoreScore='" + otherProtectRestoreScore + '\'' +
            ", otherProtectHongeText='" + otherProtectHongeText + '\'' +
            ", otherProtectHongScore='" + otherProtectHongScore + '\'' +
            ", otherProtectGreenText='" + otherProtectGreenText + '\'' +
            ", otherProtectGreenScope='" + otherProtectGreenScore + '\'' +
            ", claimFitnessScore='" + claimFitnessScore + '\'' +
            ", claimSpeedScore='" + claimSpeedScore + '\'' +
            ", serviceInvs=" + serviceInvs +
            '}';
    }
}
